Hadoop 全分布部署

前期准备:已安装jdk,已配置hosts文件,已配置ssh免密码连入,任务安装包统一在“/h3cu/”中。

编号 主机名 类型 用户 密码
1 master 主节点 root passwd
2 slave1 从节点 root passwd
3 slave2 从节点 root passwd

1)解压hadoop 到 /usr/local/src/ 目录

tar zxvf /h3cu/hadoop-2.6.0.tar.gz -C /usr/local/src/

2)重命名

cd /usr/local/src/
mv hadoop-2.6.0 hadoop

3)配置 hadoop 环境变量

export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

4)使配置的 hadoop 的环境变量生效

source ~/.base_profile

5)配置 hadoop-env.sh、yarn-env.sh

cd /usr/local/src/hadoop/etc/hadoop

export JAVA_HOME=/usr/local/src/jdk

6)配置 core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/src/hadoop/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
        <description>该属性值单位为KB,131072KB即为默认的64M</description>
    </property>

</configuration>

7)配置 hdfs-site.xml

dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。

dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。

dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。

<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/usr/local/src/hadoop/data/dfs/name</value>
        </property>

        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/usr/local/src/hadoop/data/dfs/data</value>
        </property>

        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>

       <property>
           <name>dfs.namenode.secondary.http-address</name>
           <value>master:50090</value>
       </property>
</configuration>

8)配置 yarn-site.xml

yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址

<configuration>

    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

</configuration>

9)配置 mapred-site.xml

mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。

<configuration>
   <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
   <property>
       <name>mapreduce.jobhistory.address</name>
       <value>master:10020</value>
   </property>
   <property>
       <name>mapreduce.jobhistory.webapp.address</name>
       <value>master:19888</value>
   </property>
</configuration>

10)配置 masters 文件(直接跳过吧)

master

11)配置 slaves 文件

slave1
slave2

12)新建目录

mkdir /usr/local/src/hadoop/tmp
mkdir -p /usr/local/src/hadoop/data/dfs/name
mkdir -p /usr/local/src/hadoop/data/dfs/data

13)将 master 上的 hadoop 安装文件同步到 slave1 slave2

scp -r /usr/local/src/hadoop/ slave1:/usr/local/src/
scp -r /usr/local/src/hadoop/ slave2:/usr/local/src/

14)在每个 slave 节点上配置 hadoop 的环境变量(所有 slave 节点)

export HADOOP_HOME=/usr/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

15)使配置的 hadoop 的环境变量生效(所有 slave 节点)

source ~/.base_profile

16) 启动 Hadoop,使用相关命令查看所有节点 Hadoop 进程并截图。

格式化HDFS
hadoop namenode -format

查看hdfs情况
hadoop dfsadmin -report

start-dfs.sh
启动完成后,输入jps查看进程,如果看到以下二个进程:
5161 SecondaryNameNode
4989 NameNode

start-yarn.sh ,完成后,再输入jps查看进程 
5161 SecondaryNameNode
5320 ResourceManager
4989 NameNode
如果看到这3个进程,表示yarn也ok了

可以通过 bin/hdfs dfsadmin -report 查看hdfs的状态报告

其它注意事项:

a) master(即:namenode节点)若要重新格式化,请先清空各datanode上的data目录(最好连tmp目录也一起清空),否则格式化完成后,启动dfs时,datanode会启动失败。

b) 如果觉得master机器上只运行namenode比较浪费,想把master也当成一个datanode,直接在slaves文件里,添加一行master即可。

参考:https://www.cnblogs.com/yjmyzz/p/4280069.html

关闭hadoop:

stop-dfs.sh
stop-yarn.sh

results matching ""

    No results matching ""